今天我們簡單來整理一下,這幾個星期從 《 Patterns of Enterprise Application Architecture - Martin Fowler 》這本書中所學習到的東西,先簡單來張圖。
這張圖涵蓋了我們前幾天所討論的東西。
這個層級是專門用來處理畫面的地方,書中雖然以模式來說只要提到 MVC,但是因為我覺得現在應該還蠻多人也有聽過 MVP 與 MVVM 所以我也一起拿來說一下。
相關連結 :
Presentation layer 與 domain layer 之間我們有提到兩個東西 :
會有這兩個東西主要原因在於 :
畫面要的東西,不見得與 domain 層的形狀一樣
所以 remote facade 是一種設計模式,來讓『 外部使用更簡單 』,而 DTO 本質上就是一個傳送給外部的物件,他的形狀比較接近 Presentation 需要用到的。
這裡主要有三種模式 :
上面的 domain model 與 table module 事實上會有一個問題,那就是要在那裡串業務流程,以 domain model 來看職則分明,但問題是一定要有個地方來串啊 ? 對這就是 service。
然後這裡我們還有提到幾個我覺得算是 domain layer 的支援工具 :
相關連結 :
這裡就是專門處理與資料庫相關的操作,而不代有業務邏輯。
相關連結 :
《 Patterns of Enterprise Application Architecture - Martin Fowler 》 這本書應該就先到這一段落了,雖然還有很多可以降,但接下來我想先往 domain layer 那在繼續的往以下兩個地方延伸了 :